<?php
// 应用公共文件
//生成随机字符串
function creatToken($length=10)
{
	$characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
	$randomString = '';
	for ($i = 0; $i < $length; $i++) {
	    $randomString .= $characters[rand(0, strlen($characters) - 1)];
	}
	
	return $randomString;
}
/***
 * 生成订单号
 */
function createOrderSn(){
    $order_sn = date('YmdHis') . mt_rand(1000, 9999);
	return $order_sn;
}


function createOrderSn1(){
    // 使用时间戳+微秒+进程ID+4位随机数确保唯一
    list($t1, $t2) = explode(' ', microtime());
    // 截取6位微秒数
    $micro = substr(sprintf('%.6f', $t1), 2, 6);
    // 获取进程ID
    $pid = getmypid();
    // 生成唯一订单号：时间戳（14位）+ 微秒（6位）+ 进程ID（可变长度）+ 随机数（4位）
    return date('YmdHis') . $micro . $pid . mt_rand(1000, 9999);
}

// 快递e100查询物流
function getLogisticsInfo($num){
	//参数设置
    $key = 'jeayvzRN4837';                        //客户授权key
    $customer = '7ED6C762F78BD84CBA421F64D0B6F63E';                   //查询公司编号
    $param = array (
        'com' => '',          //快递公司编码
        'num' => $num,   //快递单号
        'phone' => '',                //手机号
        'from' => '',                 //出发地城市
        'to' => '',                   //目的地城市
        'resultv2' => '1'             //开启行政区域解析
    );

    //请求参数
    $post_data = array();
    $post_data["customer"] = $customer;
    $post_data["param"] = json_encode($param);
    $sign = md5($post_data["param"].$key.$post_data["customer"]);
    $post_data["sign"] = strtoupper($sign);

    $url = 'http://poll.kuaidi100.com/poll/query.do';    //实时查询请求地址

    $params = "";
    foreach ($post_data as $k=>$v) {
        $params .= "$k=".urlencode($v)."&";              //默认UTF-8编码格式
    }
    $post_data = substr($params, 0, -1);
    // echo '请求参数<br/>'.$post_data;

    //发送post请求
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($ch);
    $data = json_decode($result);

    // echo '<br/><br/>返回数据<br/>';
    return $data;
}


